//
//  AppDelegate.swift
//  CZ29VVeibo
//
//  Created by apple on 16/6/23.
//  Copyright © 2016年 apple. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // 先设置
        setAppColor()
        // 初始化window
        window = UIWindow(frame: UIScreen.mainScreen().bounds)
        // 设置背景颜色
        window?.backgroundColor = UIColor.whiteColor()
        // 设置根控制器
       setupRootVc()
        // 成为主窗口
        window?.makeKeyAndVisible()
        // 接受通知 来完成切换根控制器
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "swicthRootVc:", name: SwitchRootVcNoti, object: nil)
        
        return true
    }
    // 设置根控制器
    func setupRootVc(){
        /*
             如果用户登录了 根控制器CZWelcomeViewController
             反之  根控制器是 CZMainViewController
        */
        if CZUserAccountTools.sharedTools.isLogin {
            window?.rootViewController = CZWelcomeViewController()
        }else {
             window?.rootViewController = CZMainViewController()
        }
    }
    
    // 通知切换根控制器
    func swicthRootVc(noti:NSNotification){
        // 如果返回的为nil 代表OAuth 发送的通知
        if noti.object == nil {
             window?.rootViewController = CZWelcomeViewController()
        }else {
            // 反之是欢迎界面发送的通知
            window?.rootViewController = CZMainViewController()
        }
    }
    // 设置app颜色
    func setAppColor(){
        //tintColor 设置控件颜色
        UITabBar.appearance().tintColor = ThemeColor
        UINavigationBar.appearance().tintColor = ThemeColor
    }
    
    deinit {
        // 使用通知 程序员注意需要 移除
        NSNotificationCenter.defaultCenter().removeObserver(self)
    }
    // 代表程序杀死或者推到后台
    func applicationDidEnterBackground(application: UIApplication) {
        CZStatusDAL.deleteCache()
    }


}

